package org.agile4j.patterns.prototype.template;

public class Client {
	
	/**
	 * 持有需要使用的原型接口对象
	 */
	private Prototype prototype ;
	
	/**
	 * 构造方法, 传入需要使用的圆形接口对象
	 * @param prototype 需要使用的圆形接口对象
	 */
	public Client(Prototype prototype){
		this.prototype = prototype ;
	}
	
	/**
	 * 示意方法, 执行某个功能操作
	 */
	public void operation() {
		// 需要创建原型接口对象
		Prototype newPrototype = this.prototype.clone() ;
	}
	
	public static void main(String[] args) {
		Prototype prototype = new ConcretePrototype2() ;
		Client cl = new Client(prototype) ; 
		cl.operation(); 
	}
}
